'use strict';
//根controller
function IndexController($scope,$rootScope,$location,$window,$http) {
	//微信初始化
	$scope.initWXinfo = function(){
		var ip = "http://g4.shfyuan.com/chunle";
		//var ip = "http://www.chunle.net";
		var baseUrl = ip+'/interface/wx/';
		//main.js比其他文件要先加载，故而无法用url.js的值
 		var url = baseUrl+"Map.php?act=getWxInfo&callback=JSON_CALLBACK";
	    $http.jsonp(url).success(function (res) {
	    	 wx.config({
		 		    debug: false, 
		 		    appId: res.result.appId,
		 			timestamp: res.result.timestamp,
		 			nonceStr: res.result.nonceStr,
		 			signature: res.result.signature,
		 		    jsApiList: [
		 		      // 所有要调用的 API 都要加到这个列表中
		 		      'onMenuShareTimeline',
		 		      'onMenuShareAppMessage',
		 		      'chooseImage',
		 	 		  'previewImage',
		 	 		  'uploadImage'
		 		    ]
		 		  });
		 	
	     });
 	}
	$scope.initWXinfo();
	
 	$rootScope.changeNull = function(){
 		showNull();
 	}
 	$rootScope.hideNull = function(){
 		hideNull();
 	}
	$rootScope.hide = function(){
		retSetMenu();
	}
	
	//店面列表切换标识
	$rootScope.config = {
			'map':'map'
	};
	
   	//页面切换
	$rootScope.go = function (path, pageAnimationClass) {
	hideSpin();
	$rootScope.hideNull();
	
	//页面成功切换回调函数   main.js
	$rootScope.$on('$locationChangeSuccess', routeChangeSuccess); 
	
	//页面切换效果
    if (typeof(pageAnimationClass) === 'undefined') { // Use a default, your choice
        $rootScope.pageAnimationClass = 'slide';
        
    }
         
    else { // Use the specified animation
        $rootScope.pageAnimationClass = pageAnimationClass;

    }
 
    if (path === 'back') { // Allow a 'back' keyword to go to previous page
        $window.history.back();
    }
         
    else { // Go to the specified path
    	
    	
    	//地图列表
    	if($rootScope.config.map == "map" && path=="map")
		{
    		path="/map_list";
		}
    	//店面列表
    	else if($rootScope.config.map == "shop" && path=="map")
		{
    		path="/shop_list";
		}
    	if($location.path()!=path){
    		showSpin();
    	}
        $location.path(path);
    }
};
//加上一个参数的方法 --页面切换
$rootScope.goParameter = function (path, pageAnimationClass,parameter) {
	
	hideSpin();
	$rootScope.hideNull();
	//页面成功切换回调函数   main.js
	$rootScope.$on('$locationChangeSuccess', routeChangeSuccess); 
	//页面切换效果
    if (typeof(pageAnimationClass) === 'undefined') { // Use a default, your choice
        $rootScope.pageAnimationClass = 'slide';
    }else { // Use the specified animation
        $rootScope.pageAnimationClass = pageAnimationClass;
    }
 
    if (path === 'back') { // Allow a 'back' keyword to go to previous page
        $window.history.back();
    }else { // Go to the specified path
    	//地图列表
    	if($rootScope.config.map == "map" && path=="map")
		{
    		path="/map_list"+"/"+parameter;
		}
    	//店面列表
    	else if($rootScope.config.map == "shop" && path=="map")
		{
    		path="/shop_list"+"/"+parameter;
		}
    	if($location.path()!=path){
    		showSpin();
    	}
    	
    	
//    	alert(path+"/"+parameter);
    	
    	if(parameter!=0)
    	{
    		$location.path(path+"/"+parameter);
    	}
    	else
    	{
    		$location.path(path);
    	}
    	
        
    }
};

}

(function (win) {
	/**
	 * 初始化js
	 */
	var h = $(window).height();
	var $content = $("#content");
	$content.height(h+"px");
	
    //配置baseUrl
    var baseUrl = document.getElementById('main').getAttribute('data-baseurl');
    var baiduTime = getNowFormatDate();
    /*
     * 文件依赖
     */
    var config = {
        baseUrl: baseUrl,           //依赖相对路径
//        在 paths 中，我们声明了一个名为 app 的模块，以及它对应的js文件地址。
        paths: {                    //如果某个前缀的依赖不是按照baseUrl拼接这么简单，就需要在这里指出
            angular: 'libs/angular.min',
            'angular-route': 'libs/angular-route-require',
            'angular-animate': 'libs/angular-animate.min',
            'ng-infinite-scroll': 'libs/ng-infinite-scroll',
            text: 'libs/text',              //用于requirejs导入html类型的依赖
            swiper:'libs/swiper.min',
            config:'common/config',
            url:'common/url',//路径
            common:'common/common',
            all:'common/all.min',
            baidumap:'http://api.map.baidu.com/getscript?v=2.0&ak=b5dYoW2CbyGVaEQfXIm9dBdB&services=&t='+baiduTime,
            SearchInfoWindow:'http://api.map.baidu.com/library/SearchInfoWindow/1.5/src/SearchInfoWindow_min',
            yf:'common/yf',
            jqload:'libs/jquery.lazyload.min',
            	
        },
//      最后调用 hello() 的时候，这个 hello 是个 undefined . 这说明，虽然我们依赖了一个js库（它会被载入），
//      但requirejs无法从中拿到代表它的对象注入进来供我们使用。 
//      在这种情况下，我们要使用 shim ，将某个依赖中的某个全局变量暴露给requirejs，当作这个模块本身的引用。
        shim: {                     
        	//引入没有使用requirejs模块写法的类库。例如underscore这个类库，本来会有一个全局变量'_'。这里shim等于快速定义一个模块，把原来的全局变量'_'封装在局部，并导出为一个exports，变成跟普通requirejs模块一样
            angular: {
                exports: 'angular'
            },
            'angular-route': {
                deps: ['angular'],   //依赖什么模块
                exports: 'ngRouteModule'
            },
            'angular-animate': {
            	deps: ['angular'],   //依赖什么模块
            	exports: 'ngAnimate'
            },
            'ng-infinite-scroll': {
            	deps: ['angular'],   //依赖什么模块
            	exports: 'ngInfinite'
            },
            url :{
            	deps: ['config'],
            	exports:'url'
            },
            SearchInfoWindow:{
            	deps: ['map'],   //依赖什么模块
            	exports:'SearchInfoWindow'
            }
            
            
        }
//		path定义模块（即定义路径）;shim 他表示util这个模块在加载之前需要先加载1.css这个样式文件；
//        map 在任何模块之前，都先载入这个模块,这样别的模块依赖于css!../style/1.css这样的模块都知道怎么处理了
    };

    require.config(config);

    require(['angular', 'router'], function(angular){
        angular.bootstrap(document, ['webapp']);//手工启动angular，这里webapp是router.js中定义的angular module。
    });

    
})(window);
function getNowFormatDate() {
	
    var date = new Date();
    var year = date.getFullYear();
    var month = date.getMonth() + 1;
    var strDate = date.getDate();
    if (month >= 1 && month <= 9) {
        month = "0" + month;
    }
    if (strDate >= 0 && strDate <= 9) {
        strDate = "0" + strDate;
    }
    return year+"" + month + strDate + date.getHours() + date.getMinutes() + date.getSeconds();
}